*** empty log message ***
authorJim Blandy <jimb@redhat.com>
Tue, 9 Mar 1993 23:40:36 +0000 (23:40 +0000)
committerJim Blandy <jimb@redhat.com>
Tue, 9 Mar 1993 23:40:36 +0000 (23:40 +0000)
lisp/emacs-lisp/lucid.el

index 8ee8603694de31888a419a627aa1d7e3e4d4fff7..36600f540b6d01d1f5341b2d709d3122619640cc 100644 (file)
@@ -3,3 +3,44 @@
 
 (defun disable-timeout (timeout)
   (cancel-timer timeout))
+
+(defun copy-tree (tree)
+  (if (consp tree)
+      (cons (copy-tree (car tree))
+           (copy-tree (cdr tree)))
+    (if (vectorp tree)
+       (let ((new (copy-sequence tree))
+             (i (1- (length new))))
+         (while (>= i 0)
+           (aset new i (copy-tree (aref new i)))
+           (setq i (1- i)))
+         new)
+      tree)))
+
+(fset 'current-time-seconds 'current-time)
+
+(defun keymap-parent (keymap)
+  (let ((tail (cdr keymap)))
+    (while (and tail (not (eq (car tail) 'keymap)))
+      (setq tail (cdr tail)))
+    tail))
+
+(defun set-keymap-parent (keymap new-parent)
+  (let ((tail (cdr keymap)))
+    (while (and tail (cdr tail) (not (eq (car (cdr tail)) 'keymap)))
+      (setq tail (cdr tail)))
+    (if tail
+       (setcdr tail new-parent))))
+
+(defun remove-hook (hook-var function)
+  (if (boundp 'hook-var)
+      (set hook-var (delq function (symbol-value hook-var)))))
+
+(defun remprop (symbol prop)
+  (let ((plist (symbol-plist symbol)))
+    (while (eq (car plist) prop)
+      (setplist symbol (setq plist (cdr (cdr plist)))))
+    (while plist
+      (if (eq (nth 2 plist) prop)
+         (setcdr (cdr plist) (nthcdr 4 plist)))
+      (setq plist (cdr (cdr plist))))))